\hypertarget{class_vision_1_1_image_callback}{
\section{Vision::ImageCallback Class Reference}
\label{class_vision_1_1_image_callback}\index{Vision::ImageCallback@{Vision::ImageCallback}}
}


\hyperlink{class_vision_1_1_image_callback}{ImageCallback} class used to register for image events.  


{\ttfamily \#include $<$imagecallback.h$>$}Inheritance diagram for Vision::ImageCallback::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=10cm]{class_vision_1_1_image_callback}
\end{center}
\end{figure}
\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_vision_1_1_image_callback_a7936ea622ee14d8052f147c4ca564e3a}{
typedef std::set$<$ \hyperlink{class_vision_1_1_image_callback}{Vision::ImageCallback} $\ast$ $>$ {\bfseries ImageCallbackSet}}
\label{class_vision_1_1_image_callback_a7936ea622ee14d8052f147c4ca564e3a}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_vision_1_1_image_callback_a55b15a24ba22a0787d2b3c9fcc80d4ca}{
IplImage $\ast$ {\bfseries InputImage} ()}
\label{class_vision_1_1_image_callback_a55b15a24ba22a0787d2b3c9fcc80d4ca}

\item 
\hypertarget{class_vision_1_1_image_callback_aef5575b50824bf5fa66a93afaec6bafe}{
\hyperlink{class_vision_1_1_image_callback_aef5575b50824bf5fa66a93afaec6bafe}{ImageCallback} ()}
\label{class_vision_1_1_image_callback_aef5575b50824bf5fa66a93afaec6bafe}

\begin{DoxyCompactList}\small\item\em Default constructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a445875e42dc9ace57f15f4a73ba82ccc}{
\hyperlink{class_vision_1_1_image_callback_a445875e42dc9ace57f15f4a73ba82ccc}{$\sim$ImageCallback} ()}
\label{class_vision_1_1_image_callback_a445875e42dc9ace57f15f4a73ba82ccc}

\begin{DoxyCompactList}\small\item\em Default destructor. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aff326de28fcba73cb82052c4302e9ae5}{
void \hyperlink{class_vision_1_1_image_callback_aff326de28fcba73cb82052c4302e9ae5}{setup} ()}
\label{class_vision_1_1_image_callback_aff326de28fcba73cb82052c4302e9ae5}

\begin{DoxyCompactList}\small\item\em Performs default class setups. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_af476fef1d8d910eb2687aaa0937aac9d}{
void \hyperlink{class_vision_1_1_image_callback_af476fef1d8d910eb2687aaa0937aac9d}{update} ()}
\label{class_vision_1_1_image_callback_af476fef1d8d910eb2687aaa0937aac9d}

\begin{DoxyCompactList}\small\item\em Performs image \hyperlink{class_vision_1_1_image_callback}{ImageCallback} processing on image file sources and updates the frames. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_afbee350638e09e5a6aea6a0d19f3938c}{
void \hyperlink{class_vision_1_1_image_callback_afbee350638e09e5a6aea6a0d19f3938c}{draw} ()}
\label{class_vision_1_1_image_callback_afbee350638e09e5a6aea6a0d19f3938c}

\begin{DoxyCompactList}\small\item\em OUTDATED: Draws images unto canvas. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a0a0fbf50c4cbc55c781eaacf269aca73}{keyPressed} (int key)
\begin{DoxyCompactList}\small\item\em Handles OFXGui. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aea62ec3a15dd3bef611e55e26e6fb911}{
void \hyperlink{class_vision_1_1_image_callback_aea62ec3a15dd3bef611e55e26e6fb911}{mouseMoved} (int x, int y)}
\label{class_vision_1_1_image_callback_aea62ec3a15dd3bef611e55e26e6fb911}

\begin{DoxyCompactList}\small\item\em Function called when the mouse is moved. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ada77b8ca71eef5294c97ed2beff2a431}{
void \hyperlink{class_vision_1_1_image_callback_ada77b8ca71eef5294c97ed2beff2a431}{mouseDragged} (int x, int y, int button)}
\label{class_vision_1_1_image_callback_ada77b8ca71eef5294c97ed2beff2a431}

\begin{DoxyCompactList}\small\item\em Function called when the mouse is dragged. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a96e715e714f6630f41c97214b78425d2}{mousePressed} (int eventType, int x, int y, int flags, void $\ast$param)
\begin{DoxyCompactList}\small\item\em Function called when the mouse is pressed. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_afd8b6b9ec8708e7465e92bc727c9e0fc}{
void \hyperlink{class_vision_1_1_image_callback_afd8b6b9ec8708e7465e92bc727c9e0fc}{mouseReleased} ()}
\label{class_vision_1_1_image_callback_afd8b6b9ec8708e7465e92bc727c9e0fc}

\begin{DoxyCompactList}\small\item\em Function called when the mouse is released. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a186914f1213fc4512763069f0766ee6b}{
void \hyperlink{class_vision_1_1_image_callback_a186914f1213fc4512763069f0766ee6b}{AllocateColorImage} (IplImage $\ast$$\ast$inputImage)}
\label{class_vision_1_1_image_callback_a186914f1213fc4512763069f0766ee6b}

\begin{DoxyCompactList}\small\item\em Allocates space for color images. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ad72ad131f0480a690443d7311639ea9f}{
void \hyperlink{class_vision_1_1_image_callback_ad72ad131f0480a690443d7311639ea9f}{AllocateColorImage} (IplImage $\ast$$\ast$inputImage, CvSize imageSize)}
\label{class_vision_1_1_image_callback_ad72ad131f0480a690443d7311639ea9f}

\begin{DoxyCompactList}\small\item\em Allocates space for color images with a given size. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a6555024c5335927a97cc910a2b1a73ae}{
void \hyperlink{class_vision_1_1_image_callback_a6555024c5335927a97cc910a2b1a73ae}{AllocateColorImageBGR} (IplImage $\ast$$\ast$inputImage)}
\label{class_vision_1_1_image_callback_a6555024c5335927a97cc910a2b1a73ae}

\begin{DoxyCompactList}\small\item\em Allocates space for color images in BGR space. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aecc21a99e55a2f58d17385ce82a430a4}{
void \hyperlink{class_vision_1_1_image_callback_aecc21a99e55a2f58d17385ce82a430a4}{AllocateColorImageBGR} (IplImage $\ast$$\ast$inputImage, CvSize imageSize)}
\label{class_vision_1_1_image_callback_aecc21a99e55a2f58d17385ce82a430a4}

\begin{DoxyCompactList}\small\item\em Allocates space for color images with a given size in BGR. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a83f6979a1dbc19bab569bd77f6989e24}{
void \hyperlink{class_vision_1_1_image_callback_a83f6979a1dbc19bab569bd77f6989e24}{AllocateGrayscaleImage} (IplImage $\ast$$\ast$inputImage)}
\label{class_vision_1_1_image_callback_a83f6979a1dbc19bab569bd77f6989e24}

\begin{DoxyCompactList}\small\item\em Allocates space for grayscale images. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a9aa7cff2687a87ff8c2609b80be4ec5b}{
void \hyperlink{class_vision_1_1_image_callback_a9aa7cff2687a87ff8c2609b80be4ec5b}{AllocateGrayscaleImage} (IplImage $\ast$$\ast$inputImage, CvSize imageSize)}
\label{class_vision_1_1_image_callback_a9aa7cff2687a87ff8c2609b80be4ec5b}

\begin{DoxyCompactList}\small\item\em Allocates space for grayscale images with a given size. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a50449389fd6176bc0ce0b629ed241e5a}{
unsigned int {\bfseries BottomBorder} () const }
\label{class_vision_1_1_image_callback_a50449389fd6176bc0ce0b629ed241e5a}

\item 
void \hyperlink{class_vision_1_1_image_callback_afec44e99631a835081a4e1ffbaaf1a66}{DisplayRectangles} (const CvSeq $\ast$rectSeq, const unsigned int xCoor, const unsigned int yCoor, const double scaleFactor=1.0)
\begin{DoxyCompactList}\small\item\em Returns the y-\/coordinate of the frame's bottom border. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a0c7c8d2bc62e23dc4cb374e5b4621184}{ErodeAndDilateImage} (IplImage $\ast$inputImage, IplImage $\ast$outputImage)
\begin{DoxyCompactList}\small\item\em Performs an erosion and dilation operation on an image (Also known as opening). \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_af940aa18fde993d52bd8fab04fdfb545}{
unsigned long {\bfseries FrameArea} () const }
\label{class_vision_1_1_image_callback_af940aa18fde993d52bd8fab04fdfb545}

\item 
\hypertarget{class_vision_1_1_image_callback_a2ae6c50875dc19a8bd0b55ca9a7b0d33}{
unsigned int {\bfseries FrameHeight} () const }
\label{class_vision_1_1_image_callback_a2ae6c50875dc19a8bd0b55ca9a7b0d33}

\item 
\hypertarget{class_vision_1_1_image_callback_a177e96d5c9e647c6bcd5e883598ff5f8}{
unsigned int \hyperlink{class_vision_1_1_image_callback_a177e96d5c9e647c6bcd5e883598ff5f8}{FrameWidth} () const }
\label{class_vision_1_1_image_callback_a177e96d5c9e647c6bcd5e883598ff5f8}

\begin{DoxyCompactList}\small\item\em Height of each displayed frame. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a67917fa6284bdc92667e44d6f43713d6}{
bool \hyperlink{class_vision_1_1_image_callback_a67917fa6284bdc92667e44d6f43713d6}{IsSelected} () const }
\label{class_vision_1_1_image_callback_a67917fa6284bdc92667e44d6f43713d6}

\begin{DoxyCompactList}\small\item\em Width of each displayed frame. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a4118ea78a2a868d2c5e7e539303c523c}{
unsigned int \hyperlink{class_vision_1_1_image_callback_a4118ea78a2a868d2c5e7e539303c523c}{LeftBorder} () const }
\label{class_vision_1_1_image_callback_a4118ea78a2a868d2c5e7e539303c523c}

\begin{DoxyCompactList}\small\item\em Returns true if the module is selected. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a5e671c7ded0de42d85a34353c9a5d2b0}{
virtual void \hyperlink{class_vision_1_1_image_callback_a5e671c7ded0de42d85a34353c9a5d2b0}{ProcessImage} (void $\ast$args)=0}
\label{class_vision_1_1_image_callback_a5e671c7ded0de42d85a34353c9a5d2b0}

\begin{DoxyCompactList}\small\item\em Returns the x-\/coordinate of the frame's left border. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aa56e4cede62d504e91d1ba77d0da059e}{
bool {\bfseries RectanglesEnables} () const }
\label{class_vision_1_1_image_callback_aa56e4cede62d504e91d1ba77d0da059e}

\item 
int \hyperlink{class_vision_1_1_image_callback_ad5081771e347e33ced05106a9273117e}{RegisterImageCallback} (\hyperlink{class_vision_1_1_image_callback}{Vision::ImageCallback} $\ast$cb)
\begin{DoxyCompactList}\small\item\em Returns true when rectangles will be drawn to the output image from the contour object. \item\end{DoxyCompactList}\item 
int \hyperlink{class_vision_1_1_image_callback_a295d6952c449a8897c9489edb982bf3c}{RemoveImageCallback} (\hyperlink{class_vision_1_1_image_callback}{Vision::ImageCallback} $\ast$cb)
\begin{DoxyCompactList}\small\item\em Remove a registered \hyperlink{class_vision_1_1_image_callback}{ImageCallback}. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aa3605abc1d4716e4451aac19b86322e3}{
unsigned int {\bfseries RightBorder} () const }
\label{class_vision_1_1_image_callback_aa3605abc1d4716e4451aac19b86322e3}

\item 
void \hyperlink{class_vision_1_1_image_callback_a75da45bcdaf1b95871050362e739b1b5}{RunImageCallbacks} (void $\ast$args)
\begin{DoxyCompactList}\small\item\em Returns the x-\/coordinate of the frame's right border. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a6466cc6f7fb0a678d02651e15109f8e7}{
double {\bfseries ScaleFactor} () const }
\label{class_vision_1_1_image_callback_a6466cc6f7fb0a678d02651e15109f8e7}

\item 
void \hyperlink{class_vision_1_1_image_callback_a355525f3931c6896a74738b0441fbbc5}{ScaleImages} (const double ScaleFactor)
\begin{DoxyCompactList}\small\item\em Returns the scale factor. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a5b2eac3722ed7204cc2813d0f7d2d9a4}{SelectModule} ()
\begin{DoxyCompactList}\small\item\em Performs events related to module selection. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a9a239d4a4dae570c567b8943afbb33f4}{ThresholdGrayscaleImage} (IplImage $\ast$inputImage, int thresholdValue, bool Invert)
\begin{DoxyCompactList}\small\item\em Performs a threshold on a grayscale image. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_abce6bccd24defe7731c2359fc3a38d96}{
unsigned int {\bfseries TopBorder} () const }
\label{class_vision_1_1_image_callback_abce6bccd24defe7731c2359fc3a38d96}

\item 
\hypertarget{class_vision_1_1_image_callback_a41a32c96e5ab88ce393262a649ef773f}{
const char $\ast$ \hyperlink{class_vision_1_1_image_callback_a41a32c96e5ab88ce393262a649ef773f}{WindowName} ()}
\label{class_vision_1_1_image_callback_a41a32c96e5ab88ce393262a649ef773f}

\begin{DoxyCompactList}\small\item\em Returns the y-\/coordinate of the frame's top border. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_vision_1_1_image_callback_a4d777ab16199e75bb9a9f3a21c8e7922}{
CvFont \hyperlink{class_vision_1_1_image_callback_a4d777ab16199e75bb9a9f3a21c8e7922}{mFrameFont}}
\label{class_vision_1_1_image_callback_a4d777ab16199e75bb9a9f3a21c8e7922}

\begin{DoxyCompactList}\small\item\em Default writing font for frames. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a540be993aa4092ce744b2dbd5c3c647c}{
CvMemStorage $\ast$ \hyperlink{class_vision_1_1_image_callback_a540be993aa4092ce744b2dbd5c3c647c}{mStorage}}
\label{class_vision_1_1_image_callback_a540be993aa4092ce744b2dbd5c3c647c}

\begin{DoxyCompactList}\small\item\em Expandable memory mStorage. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a454f6ad9e66846764ff778e9d6a16d14}{
CvSeq $\ast$ \hyperlink{class_vision_1_1_image_callback_a454f6ad9e66846764ff778e9d6a16d14}{objSeq}}
\label{class_vision_1_1_image_callback_a454f6ad9e66846764ff778e9d6a16d14}

\begin{DoxyCompactList}\small\item\em List of detected objects. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a68a45b9ebd299bd46c6583f9a9bcae91}{
IplImage $\ast$ {\bfseries mInputImage}}
\label{class_vision_1_1_image_callback_a68a45b9ebd299bd46c6583f9a9bcae91}

\item 
\hypertarget{class_vision_1_1_image_callback_aa8271d33d6782fe744d22a451535f034}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_aa8271d33d6782fe744d22a451535f034}{mBackgroundBinary}}
\label{class_vision_1_1_image_callback_aa8271d33d6782fe744d22a451535f034}

\begin{DoxyCompactList}\small\item\em Current video frame scaled background in binary. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a83574db8fd42a8b663135059229fe3b4}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a83574db8fd42a8b663135059229fe3b4}{mBlueChannelImage}}
\label{class_vision_1_1_image_callback_a83574db8fd42a8b663135059229fe3b4}

\begin{DoxyCompactList}\small\item\em Current video frame red channel. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ab768b205ec8f9dc15ee0ff5256eb3509}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_ab768b205ec8f9dc15ee0ff5256eb3509}{mGrayscaleImage}}
\label{class_vision_1_1_image_callback_ab768b205ec8f9dc15ee0ff5256eb3509}

\begin{DoxyCompactList}\small\item\em Current video frame in grayscale format. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a1004b57f65fc5a081f8da46ff6f8c11a}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a1004b57f65fc5a081f8da46ff6f8c11a}{mGreenChannelImage}}
\label{class_vision_1_1_image_callback_a1004b57f65fc5a081f8da46ff6f8c11a}

\begin{DoxyCompactList}\small\item\em Current video frame red channel. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a6e6f50d56de84f3dd7b3ba428383afc4}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a6e6f50d56de84f3dd7b3ba428383afc4}{mForegroundBinary}}
\label{class_vision_1_1_image_callback_a6e6f50d56de84f3dd7b3ba428383afc4}

\begin{DoxyCompactList}\small\item\em Current video frame scaled foreground in binary. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a779b751b986a5f31dd383e0f0b396428}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a779b751b986a5f31dd383e0f0b396428}{mOutputColorImage}}
\label{class_vision_1_1_image_callback_a779b751b986a5f31dd383e0f0b396428}

\begin{DoxyCompactList}\small\item\em Output color image of \hyperlink{class_vision_1_1_image_callback}{ImageCallback} transformation on input image. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_abe51c619f7c4a0e140aa3c99578eaa2f}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_abe51c619f7c4a0e140aa3c99578eaa2f}{mOutputMaskImage}}
\label{class_vision_1_1_image_callback_abe51c619f7c4a0e140aa3c99578eaa2f}

\begin{DoxyCompactList}\small\item\em Output mask of \hyperlink{class_vision_1_1_image_callback}{ImageCallback} transformation on input image. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a6218ae6fcdae1a7f9adae79a0d6c0dc8}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a6218ae6fcdae1a7f9adae79a0d6c0dc8}{mRedChannelImage}}
\label{class_vision_1_1_image_callback_a6218ae6fcdae1a7f9adae79a0d6c0dc8}

\begin{DoxyCompactList}\small\item\em Current video frame red channel. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ada3a4ae48232e9a8e087925dd48be235}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_ada3a4ae48232e9a8e087925dd48be235}{mThresholdBinary}}
\label{class_vision_1_1_image_callback_ada3a4ae48232e9a8e087925dd48be235}

\begin{DoxyCompactList}\small\item\em Threshold binary image using morphology operations. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a68537272ea5c419f4a30d275d2d7ccae}{
IplImage $\ast$ \hyperlink{class_vision_1_1_image_callback_a68537272ea5c419f4a30d275d2d7ccae}{mVotingGrayImage}}
\label{class_vision_1_1_image_callback_a68537272ea5c419f4a30d275d2d7ccae}

\begin{DoxyCompactList}\small\item\em Voting grayscale image. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ac011b29b60713b7d1de19b6498f42975}{
ImageCallbackSet \hyperlink{class_vision_1_1_image_callback_ac011b29b60713b7d1de19b6498f42975}{mImageCallbacks}}
\label{class_vision_1_1_image_callback_ac011b29b60713b7d1de19b6498f42975}

\begin{DoxyCompactList}\small\item\em Set of all ImageCallbacks to run when message received. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a7c6f7b65e7f9a9bd28784148e42e3d21}{
CxUtils::Mutex \hyperlink{class_vision_1_1_image_callback_a7c6f7b65e7f9a9bd28784148e42e3d21}{mImageCallbackMutex}}
\label{class_vision_1_1_image_callback_a7c6f7b65e7f9a9bd28784148e42e3d21}

\begin{DoxyCompactList}\small\item\em \hyperlink{class_vision_1_1_image_callback}{ImageCallback} mutex for processing delegates. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_af828a2e283c44d153bddc6265251e74d}{
\hyperlink{class_vision_1_1_video_player}{Vision::VideoPlayer} $\ast$ \hyperlink{class_vision_1_1_image_callback_af828a2e283c44d153bddc6265251e74d}{mVideoPlayer}}
\label{class_vision_1_1_image_callback_af828a2e283c44d153bddc6265251e74d}

\begin{DoxyCompactList}\small\item\em Performs frame rendering. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a4129b5aa2c4bd57d322f41572c81ff4c}{
std::vector$<$ CvSeq $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_a4129b5aa2c4bd57d322f41572c81ff4c}{mTemplateBarrelContours}}
\label{class_vision_1_1_image_callback_a4129b5aa2c4bd57d322f41572c81ff4c}

\begin{DoxyCompactList}\small\item\em Template contours used for matching shapes and hu moments. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a4bbdb1578d77f4ebc0f3a4f9298b2547}{
std::vector$<$ CvMemStorage $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_a4bbdb1578d77f4ebc0f3a4f9298b2547}{mTemplateBarrelMemory}}
\label{class_vision_1_1_image_callback_a4bbdb1578d77f4ebc0f3a4f9298b2547}

\begin{DoxyCompactList}\small\item\em Template contour memory objects. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a18ea120dae4d8417e0c67f946e7da1da}{
std::vector$<$ CvSeq $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_a18ea120dae4d8417e0c67f946e7da1da}{mTemplateConeContours}}
\label{class_vision_1_1_image_callback_a18ea120dae4d8417e0c67f946e7da1da}

\begin{DoxyCompactList}\small\item\em Template contours used for matching shapes and hu moments. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aba7f82a372982c15560af71e76489cd7}{
std::vector$<$ CvMemStorage $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_aba7f82a372982c15560af71e76489cd7}{mTemplateConeMemory}}
\label{class_vision_1_1_image_callback_aba7f82a372982c15560af71e76489cd7}

\begin{DoxyCompactList}\small\item\em Template contour memory objects. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a877e7060f4298cbd262a321503364b5f}{
std::vector$<$ CvSeq $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_a877e7060f4298cbd262a321503364b5f}{mTemplateBarricadeContours}}
\label{class_vision_1_1_image_callback_a877e7060f4298cbd262a321503364b5f}

\begin{DoxyCompactList}\small\item\em Template contours used for matching shapes and hu moments. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ac7c74ca6990b2ce6699c2233dc8f2a73}{
std::vector$<$ CvMemStorage $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_ac7c74ca6990b2ce6699c2233dc8f2a73}{mTemplateBarricadeMemory}}
\label{class_vision_1_1_image_callback_ac7c74ca6990b2ce6699c2233dc8f2a73}

\begin{DoxyCompactList}\small\item\em Template contour memory objects. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ae9952d59e8f650c353e7bb34120bd295}{
volatile bool {\bfseries mEnableImageCallback}}
\label{class_vision_1_1_image_callback_ae9952d59e8f650c353e7bb34120bd295}

\item 
\hypertarget{class_vision_1_1_image_callback_accb8fe07afc2a7ceac2c248bffd588ab}{
volatile bool {\bfseries mEnableOutputDisplay}}
\label{class_vision_1_1_image_callback_accb8fe07afc2a7ceac2c248bffd588ab}

\item 
\hypertarget{class_vision_1_1_image_callback_a620603baf51ec2ef93361bad76f7f738}{
volatile bool \hyperlink{class_vision_1_1_image_callback_a620603baf51ec2ef93361bad76f7f738}{mEnableRectangles}}
\label{class_vision_1_1_image_callback_a620603baf51ec2ef93361bad76f7f738}

\begin{DoxyCompactList}\small\item\em Enables or disables rectangle output. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a3aa17a0de71424eb45b735e95d2ef7a4}{
unsigned int {\bfseries mFrameNumber}}
\label{class_vision_1_1_image_callback_a3aa17a0de71424eb45b735e95d2ef7a4}

\item 
\hypertarget{class_vision_1_1_image_callback_a2c7327a9a16b8d78f5c4ef66e3f066f8}{
void $\ast$ \hyperlink{class_vision_1_1_image_callback_a2c7327a9a16b8d78f5c4ef66e3f066f8}{mParent}}
\label{class_vision_1_1_image_callback_a2c7327a9a16b8d78f5c4ef66e3f066f8}

\begin{DoxyCompactList}\small\item\em Pointer to parent object.. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ac3af98c21f91087d16a480f23514e637}{
unsigned int \hyperlink{class_vision_1_1_image_callback_ac3af98c21f91087d16a480f23514e637}{mXCoordinate}}
\label{class_vision_1_1_image_callback_ac3af98c21f91087d16a480f23514e637}

\begin{DoxyCompactList}\small\item\em X coordinate location of frame on screen. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a7ebeba09e9cd2848c845be8aea048527}{
unsigned int \hyperlink{class_vision_1_1_image_callback_a7ebeba09e9cd2848c845be8aea048527}{mYCoordinate}}
\label{class_vision_1_1_image_callback_a7ebeba09e9cd2848c845be8aea048527}

\begin{DoxyCompactList}\small\item\em Y coordinate location of frame on screen. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{class_vision_1_1_image_callback_aee60079140eda2f19deec47b6328ff34}{AllocateImageCallbackImages} ()
\begin{DoxyCompactList}\small\item\em Initializes \hyperlink{class_vision_1_1_image_callback}{ImageCallback} images. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a93cb49501137847ee0746a5da323b3bc}{CannyEdges} (IplImage $\ast$inputImage, IplImage $\ast$outputImage, double threshold1, double threshold2)
\begin{DoxyCompactList}\small\item\em Detects edges using Canny edge detector. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a8bcd15259dc50e7a673449582f45d520}{GetRectangles} (const CvSeq $\ast$rectSeq, const double scaleFactor)
\begin{DoxyCompactList}\small\item\em Places the rectangles into the object's mRectangles vector. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a7f62112f57b1a56cef0044f69f0d62d0}{HarrisEdges} (IplImage $\ast$inputImage, IplImage $\ast$outputImage)
\begin{DoxyCompactList}\small\item\em Performs Harris edge detection on image. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_ad1077f71979bb047f0539a35f6771566}{HoughLines} (IplImage $\ast$inputImage, IplImage $\ast$outputImage, int cv\_\-method, double dRho=1, double dTheta=CV\_\-PI/180, int threshold=10, double param1=0, double param2=0)
\begin{DoxyCompactList}\small\item\em Performs and draws the hough lines into an image. \item\end{DoxyCompactList}\item 
unsigned int \hyperlink{class_vision_1_1_image_callback_a10d4b88903e8561ade77c043c2391664}{LoadSIFTDatabaseFeatures} (string directoryPattern)
\begin{DoxyCompactList}\small\item\em Loads a set of SIFT features for comparison and caching. \item\end{DoxyCompactList}\item 
bool \hyperlink{class_vision_1_1_image_callback_acb030962e95d8284e80c23c9d9e02cf3}{SIFTFindInDatabase} (IplImage $\ast$inputImage, string \&fileName, double \&cfValue)
\begin{DoxyCompactList}\small\item\em Finds the file name of the closes SIFT match to the image provided. \item\end{DoxyCompactList}\item 
unsigned int \hyperlink{class_vision_1_1_image_callback_a7d6b5c17bd0a15f52578a52e75ee35e8}{SIFTMatch} (IplImage $\ast$img1, IplImage $\ast$img2)
\begin{DoxyCompactList}\small\item\em Uses SIFT to match images. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ae76e353bb865e3753360123c73a8aef8}{
void {\bfseries SIFTMatchObjectFound} (vector$<$ CvRect $>$ rectangles, IplImage $\ast$outputImage)}
\label{class_vision_1_1_image_callback_ae76e353bb865e3753360123c73a8aef8}

\item 
\hypertarget{class_vision_1_1_image_callback_a38c83db7fc0386afabcf03ee90983a7c}{
void \hyperlink{class_vision_1_1_image_callback_a38c83db7fc0386afabcf03ee90983a7c}{ResetSIFTDatabaseFeatures} ()}
\label{class_vision_1_1_image_callback_a38c83db7fc0386afabcf03ee90983a7c}

\begin{DoxyCompactList}\small\item\em Removes features loaded from image database. \item\end{DoxyCompactList}\item 
void \hyperlink{class_vision_1_1_image_callback_a5b0b2cb0da02d59414be17b281d7a3e2}{VoteOnResults} ()
\begin{DoxyCompactList}\small\item\em Collects votes from images. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_vision_1_1_image_callback_aad0b6f9729611d34f02701e67ed6aef3}{
CxUtils::Thread $\ast$ {\bfseries cbThread}}
\label{class_vision_1_1_image_callback_aad0b6f9729611d34f02701e67ed6aef3}

\item 
\hypertarget{class_vision_1_1_image_callback_a07e8d98afe359967e2943b199ca255ab}{
long \hyperlink{class_vision_1_1_image_callback_a07e8d98afe359967e2943b199ca255ab}{mChronologicalVotingThreshold}}
\label{class_vision_1_1_image_callback_a07e8d98afe359967e2943b199ca255ab}

\begin{DoxyCompactList}\small\item\em Used to describe the voting window for the presence image by frame number. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aa5ce1915867dc65d0efde8c6568cfcf3}{
CxUtils::Mutex \hyperlink{class_vision_1_1_image_callback_aa5ce1915867dc65d0efde8c6568cfcf3}{mDataMutex}}
\label{class_vision_1_1_image_callback_aa5ce1915867dc65d0efde8c6568cfcf3}

\begin{DoxyCompactList}\small\item\em Mutex used to access data members, with the exception of images. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a5ee771b439e944dd13f63fe7fee8bf6b}{
unsigned int \hyperlink{class_vision_1_1_image_callback_a5ee771b439e944dd13f63fe7fee8bf6b}{mDelayTime}}
\label{class_vision_1_1_image_callback_a5ee771b439e944dd13f63fe7fee8bf6b}

\begin{DoxyCompactList}\small\item\em Delay added between frames. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a27abdd0432d39e19afe344333e568f45}{
CxUtils::Mutex {\bfseries mImageMutex}}
\label{class_vision_1_1_image_callback_a27abdd0432d39e19afe344333e568f45}

\item 
\hypertarget{class_vision_1_1_image_callback_afb3378ec1d38af8d098a049d4ce58bde}{
volatile bool \hyperlink{class_vision_1_1_image_callback_afb3378ec1d38af8d098a049d4ce58bde}{mIsSelected}}
\label{class_vision_1_1_image_callback_afb3378ec1d38af8d098a049d4ce58bde}

\begin{DoxyCompactList}\small\item\em True if module is selected. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a31083f4d25eafacb42a534020803afc2}{
CvSize {\bfseries mFrameSize}}
\label{class_vision_1_1_image_callback_a31083f4d25eafacb42a534020803afc2}

\item 
\hypertarget{class_vision_1_1_image_callback_a6e5f39febdb8a20cb1f0e92e627561f8}{
const char $\ast$ \hyperlink{class_vision_1_1_image_callback_a6e5f39febdb8a20cb1f0e92e627561f8}{OutputVideo}}
\label{class_vision_1_1_image_callback_a6e5f39febdb8a20cb1f0e92e627561f8}

\begin{DoxyCompactList}\small\item\em Output window name. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ab6b9248347abefd53642352be694e47e}{
vector$<$ CvRect $>$ \hyperlink{class_vision_1_1_image_callback_ab6b9248347abefd53642352be694e47e}{mRectangles}}
\label{class_vision_1_1_image_callback_ab6b9248347abefd53642352be694e47e}

\begin{DoxyCompactList}\small\item\em Vector to store areas of interest discovered. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a2b22998963cca0645cd1268458b28ef7}{
char \hyperlink{class_vision_1_1_image_callback_a2b22998963cca0645cd1268458b28ef7}{mReportStr} \mbox{[}1024\mbox{]}}
\label{class_vision_1_1_image_callback_a2b22998963cca0645cd1268458b28ef7}

\begin{DoxyCompactList}\small\item\em String to output to screen on frame. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_aa58b17ef1a57bba525e9f3fbd8af281c}{
volatile bool \hyperlink{class_vision_1_1_image_callback_aa58b17ef1a57bba525e9f3fbd8af281c}{mQuitAnalyzing}}
\label{class_vision_1_1_image_callback_aa58b17ef1a57bba525e9f3fbd8af281c}

\begin{DoxyCompactList}\small\item\em Used to stop analysis threads from running. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a4557b9c82f6eab9bfae84b795d34fb09}{
double \hyperlink{class_vision_1_1_image_callback_a4557b9c82f6eab9bfae84b795d34fb09}{mScaleFactor}}
\label{class_vision_1_1_image_callback_a4557b9c82f6eab9bfae84b795d34fb09}

\begin{DoxyCompactList}\small\item\em scale factor by which to transform images. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_a8edeae0642d75dd4f128286a8eed939f}{
map$<$ string, struct \hyperlink{structfeature}{feature} $\ast$ $>$ \hyperlink{class_vision_1_1_image_callback_a8edeae0642d75dd4f128286a8eed939f}{mDatabaseFeatures}}
\label{class_vision_1_1_image_callback_a8edeae0642d75dd4f128286a8eed939f}

\begin{DoxyCompactList}\small\item\em Map of image database features. \item\end{DoxyCompactList}\item 
\hypertarget{class_vision_1_1_image_callback_ac48b63bf57383d759b59a38a86e4e622}{
map$<$ string, int $>$ \hyperlink{class_vision_1_1_image_callback_ac48b63bf57383d759b59a38a86e4e622}{mDatabaseFeaturesFound}}
\label{class_vision_1_1_image_callback_ac48b63bf57383d759b59a38a86e4e622}

\begin{DoxyCompactList}\small\item\em Map of image database \hyperlink{structfeature}{feature} counts. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hyperlink{class_vision_1_1_image_callback}{ImageCallback} class used to register for image events. 

\subsection{Member Function Documentation}
\hypertarget{class_vision_1_1_image_callback_aee60079140eda2f19deec47b6328ff34}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!AllocateImageCallbackImages@{AllocateImageCallbackImages}}
\index{AllocateImageCallbackImages@{AllocateImageCallbackImages}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{AllocateImageCallbackImages}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::AllocateImageCallbackImages ()\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_aee60079140eda2f19deec47b6328ff34}


Initializes \hyperlink{class_vision_1_1_image_callback}{ImageCallback} images. Allocates space for \hyperlink{class_vision_1_1_image_callback}{ImageCallback} images. \hypertarget{class_vision_1_1_image_callback_a93cb49501137847ee0746a5da323b3bc}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!CannyEdges@{CannyEdges}}
\index{CannyEdges@{CannyEdges}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{CannyEdges}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::CannyEdges (IplImage $\ast$ {\em inputImage}, \/  IplImage $\ast$ {\em outputImage}, \/  double {\em threshold1}, \/  double {\em threshold2})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a93cb49501137847ee0746a5da323b3bc}


Detects edges using Canny edge detector. Detects Canny edges and draws them unto output image. Images must be grayscale.


\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]Image to calculate edges from. \item[{\em outputImage}]Image to draw edges into. \item[{\em threshold1}]threshold1 in cvCanny method. \item[{\em threshold2}]threshold2 in cvCanny method. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_afec44e99631a835081a4e1ffbaaf1a66}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!DisplayRectangles@{DisplayRectangles}}
\index{DisplayRectangles@{DisplayRectangles}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{DisplayRectangles}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::DisplayRectangles (const CvSeq $\ast$ {\em rectSeq}, \/  const unsigned int {\em xCoor}, \/  const unsigned int {\em yCoor}, \/  const double {\em scaleFactor} = {\ttfamily 1.0})}}
\label{class_vision_1_1_image_callback_afec44e99631a835081a4e1ffbaaf1a66}


Returns the y-\/coordinate of the frame's bottom border. Draw rectangle from rectangle point sequence.

Draws rectangle unto screen.


\begin{DoxyParams}{Parameters}
\item[{\em rectSeq}]Rectangle point sequence. \item[{\em xCoor}]x coordinate of frame. \item[{\em yCoor}]y coordinate of frame. \item[{\em scaleFactor}]factor to scale rectangle by to match image. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a0c7c8d2bc62e23dc4cb374e5b4621184}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!ErodeAndDilateImage@{ErodeAndDilateImage}}
\index{ErodeAndDilateImage@{ErodeAndDilateImage}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{ErodeAndDilateImage}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::ErodeAndDilateImage (IplImage $\ast$ {\em inputImage}, \/  IplImage $\ast$ {\em outputImage})}}
\label{class_vision_1_1_image_callback_a0c7c8d2bc62e23dc4cb374e5b4621184}


Performs an erosion and dilation operation on an image (Also known as opening). Performs an erosion and dilation operation on an image.


\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]Image to erode and dilate. \item[{\em outputImage}]Destination image for operation. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a8bcd15259dc50e7a673449582f45d520}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!GetRectangles@{GetRectangles}}
\index{GetRectangles@{GetRectangles}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{GetRectangles}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::GetRectangles (const CvSeq $\ast$ {\em rectSeq}, \/  const double {\em scaleFactor})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a8bcd15259dc50e7a673449582f45d520}


Places the rectangles into the object's mRectangles vector. Places rectangles found into object's mRectangles vector.


\begin{DoxyParams}{Parameters}
\item[{\em rectSeq}]Sequence object containing information on rectangle shape and location. \item[{\em scaleFactor}]Factor to scale rectangles by to match image. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a7f62112f57b1a56cef0044f69f0d62d0}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!HarrisEdges@{HarrisEdges}}
\index{HarrisEdges@{HarrisEdges}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{HarrisEdges}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::HarrisEdges (IplImage $\ast$ {\em inputImage}, \/  IplImage $\ast$ {\em outputImage})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a7f62112f57b1a56cef0044f69f0d62d0}


Performs Harris edge detection on image. Constructs GUI preferences for object.

Performs harris edge detection on image 
\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]8-\/bit image to detect edges on. \item[{\em outputImage}]8-\/bit image to store edges on. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_ad1077f71979bb047f0539a35f6771566}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!HoughLines@{HoughLines}}
\index{HoughLines@{HoughLines}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{HoughLines}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::HoughLines (IplImage $\ast$ {\em inputImage}, \/  IplImage $\ast$ {\em outputImage}, \/  int {\em cv\_\-method}, \/  double {\em dRho} = {\ttfamily 1}, \/  double {\em dTheta} = {\ttfamily CV\_\-PI/180}, \/  int {\em threshold} = {\ttfamily 10}, \/  double {\em param1} = {\ttfamily 0}, \/  double {\em param2} = {\ttfamily 0})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_ad1077f71979bb047f0539a35f6771566}


Performs and draws the hough lines into an image. 
\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]8-\/bit image to detect edges on. \item[{\em outputImage}]8-\/bit image to store edges on. \item[{\em cv\_\-method}]CV\_\-HOUGH\_\-STANDARD or CV\_\-HOUGH\_\-PROBABILISTIC or CV\_\-HOUGH\_\-MULTI\_\-SCALE \item[{\em dRho}]Distance resolution in pixel-\/related units. \item[{\em dTheta}]Angle resolution measured in radians. \item[{\em thresholdThreshold}]parameter. A line is returned by the function if the corresponding accumulator value is greater than threshold. \item[{\em param1}]For classical Hough transform it is not used (0). For probabilistic Hough transform it is the minimum line length. For multi-\/scale Hough transform it is divisor for distance resolution dRho. (The coarse distance resolution will be dRho and the accurate resolution will be (dRho / param1)). \item[{\em param2}]For classical Hough transform it is not used (0). For probabilistic Hough transform it is the maximum gap between line segments lieing on the same line to treat them as the single line segment (i.e. to join them). For multi-\/scale Hough transform it is divisor for angle resolution dTheta. (The coarse angle resolution will be dTheta and the accurate resolution will be (dTheta / param2)). \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a0a0fbf50c4cbc55c781eaacf269aca73}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!keyPressed@{keyPressed}}
\index{keyPressed@{keyPressed}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{keyPressed}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::keyPressed (int {\em key})}}
\label{class_vision_1_1_image_callback_a0a0fbf50c4cbc55c781eaacf269aca73}


Handles OFXGui. 
\begin{DoxyParams}{Parameters}
\item[{\em parameterId}]Id of GUI object \item[{\em task}]Id of task to perform \item[{\em data}]Pointer to data \item[{\em length}]Length of data\end{DoxyParams}
Functioned called when a key is pressed.. 

Reimplemented in \hyperlink{class_vision_1_1_blob_detector_a727037fa47e0ece663c4d4d45010782e}{Vision::BlobDetector}, \hyperlink{class_vision_1_1_edge_detector_ad9d20d0552e73303da1267af794f5bb3}{Vision::EdgeDetector}, \hyperlink{class_vision_1_1_face_detector_adef3114dda1e3a6c147cf0ef23aafc1a}{Vision::FaceDetector}, \hyperlink{class_vision_1_1_lane_lines_a28572b040212b2ec1c6d01048b4e778d}{Vision::LaneLines}, \hyperlink{class_vision_1_1_v_p_background_binary_a8eda767b8042dd4aa1dc74f2ad38b1ab}{Vision::VPBackgroundBinary}, \hyperlink{class_vision_1_1_v_p_foreground_binary_a969c3dba791abbff62427446521c9df1}{Vision::VPForegroundBinary}, \hyperlink{class_vision_1_1_v_p_grayscale_a06bf721d92b590b5f679d5005eaa6865}{Vision::VPGrayscale}, \hyperlink{class_vision_1_1_v_p_threshold_a204573f53c778b6536a9ec0a03dafd77}{Vision::VPThreshold}, and \hyperlink{class_vision_1_1_vision_platform_a489d0fc639b7c1858e190c96ed12804e}{Vision::VisionPlatform}.\hypertarget{class_vision_1_1_image_callback_a10d4b88903e8561ade77c043c2391664}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!LoadSIFTDatabaseFeatures@{LoadSIFTDatabaseFeatures}}
\index{LoadSIFTDatabaseFeatures@{LoadSIFTDatabaseFeatures}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{LoadSIFTDatabaseFeatures}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int ImageCallback::LoadSIFTDatabaseFeatures (string {\em directoryPattern})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a10d4b88903e8561ade77c043c2391664}


Loads a set of SIFT features for comparison and caching. Loads and updates SIFT features from a directory.


\begin{DoxyParams}{Parameters}
\item[{\em directoryPattern}]Directory path for image database of the form $<$Path$>$$\backslash$$\ast$.$<$ext$>$\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Number of images found. 
\end{DoxyReturn}
\hypertarget{class_vision_1_1_image_callback_a96e715e714f6630f41c97214b78425d2}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!mousePressed@{mousePressed}}
\index{mousePressed@{mousePressed}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{mousePressed}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::mousePressed (int {\em eventType}, \/  int {\em x}, \/  int {\em y}, \/  int {\em flags}, \/  void $\ast$ {\em param})}}
\label{class_vision_1_1_image_callback_a96e715e714f6630f41c97214b78425d2}


Function called when the mouse is pressed. 
\begin{DoxyParams}{Parameters}
\item[{\em x}]X coordinate of screen selected. \item[{\em y}]Y coordinate of screen selected. /////////////////////////////////////////////////////////////////////////// \end{DoxyParams}


Reimplemented in \hyperlink{class_vision_1_1_vision_platform_aa4584dc7fc6d289bca28683d2973064b}{Vision::VisionPlatform}.\hypertarget{class_vision_1_1_image_callback_ad5081771e347e33ced05106a9273117e}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!RegisterImageCallback@{RegisterImageCallback}}
\index{RegisterImageCallback@{RegisterImageCallback}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{RegisterImageCallback}]{\setlength{\rightskip}{0pt plus 5cm}int ImageCallback::RegisterImageCallback ({\bf Vision::ImageCallback} $\ast$ {\em cb})}}
\label{class_vision_1_1_image_callback_ad5081771e347e33ced05106a9273117e}


Returns true when rectangles will be drawn to the output image from the contour object. Register a \hyperlink{class_vision_1_1_image_callback}{ImageCallback} to be done everytime a message is received.

You can register multiple ImageCallbacks if desired.


\begin{DoxyParams}{Parameters}
\item[{\em cb}]\hyperlink{namespace_message}{Message} \hyperlink{class_vision_1_1_image_callback}{ImageCallback} to perform when image is received.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure. 
\end{DoxyReturn}
\hypertarget{class_vision_1_1_image_callback_a295d6952c449a8897c9489edb982bf3c}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!RemoveImageCallback@{RemoveImageCallback}}
\index{RemoveImageCallback@{RemoveImageCallback}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{RemoveImageCallback}]{\setlength{\rightskip}{0pt plus 5cm}int ImageCallback::RemoveImageCallback ({\bf Vision::ImageCallback} $\ast$ {\em cb})}}
\label{class_vision_1_1_image_callback_a295d6952c449a8897c9489edb982bf3c}


Remove a registered \hyperlink{class_vision_1_1_image_callback}{ImageCallback}. 
\begin{DoxyParams}{Parameters}
\item[{\em cb}]Image \hyperlink{class_vision_1_1_image_callback}{ImageCallback} pointer.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
1 on success, 0 on failure. 
\end{DoxyReturn}
\hypertarget{class_vision_1_1_image_callback_a75da45bcdaf1b95871050362e739b1b5}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!RunImageCallbacks@{RunImageCallbacks}}
\index{RunImageCallbacks@{RunImageCallbacks}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{RunImageCallbacks}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::RunImageCallbacks (void $\ast$ {\em args})}}
\label{class_vision_1_1_image_callback_a75da45bcdaf1b95871050362e739b1b5}


Returns the x-\/coordinate of the frame's right border. Run ImageCallbacks.

Runs ImageCallbacks.


\begin{DoxyParams}{Parameters}
\item[{\em args.}]Arguments to pass to the \hyperlink{class_vision_1_1_image_callback}{ImageCallback} functions. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a355525f3931c6896a74738b0441fbbc5}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!ScaleImages@{ScaleImages}}
\index{ScaleImages@{ScaleImages}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{ScaleImages}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::ScaleImages (const double {\em ScaleFactor})}}
\label{class_vision_1_1_image_callback_a355525f3931c6896a74738b0441fbbc5}


Returns the scale factor. Scales object images by a factor.

Scale images by scale factor.


\begin{DoxyParams}{Parameters}
\item[{\em ScaleFactor}]Scaling factor. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a5b2eac3722ed7204cc2813d0f7d2d9a4}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!SelectModule@{SelectModule}}
\index{SelectModule@{SelectModule}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{SelectModule}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::SelectModule ()}}
\label{class_vision_1_1_image_callback_a5b2eac3722ed7204cc2813d0f7d2d9a4}


Performs events related to module selection. Performs events related to module activation after selection. 

$<$ Kakhi color \#1 \hypertarget{class_vision_1_1_image_callback_acb030962e95d8284e80c23c9d9e02cf3}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!SIFTFindInDatabase@{SIFTFindInDatabase}}
\index{SIFTFindInDatabase@{SIFTFindInDatabase}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{SIFTFindInDatabase}]{\setlength{\rightskip}{0pt plus 5cm}bool ImageCallback::SIFTFindInDatabase (IplImage $\ast$ {\em inputImage}, \/  string \& {\em fileName}, \/  double \& {\em cfValue})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_acb030962e95d8284e80c23c9d9e02cf3}


Finds the file name of the closes SIFT match to the image provided. 
\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]Image to match against database. \item[{\em fileName}]String in which to store the file name of the closest match. \item[{\em cfValue}]Confidence factor value of returned match.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns true if a match has been found, false otherwise. 
\end{DoxyReturn}
\hypertarget{class_vision_1_1_image_callback_a7d6b5c17bd0a15f52578a52e75ee35e8}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!SIFTMatch@{SIFTMatch}}
\index{SIFTMatch@{SIFTMatch}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{SIFTMatch}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int ImageCallback::SIFTMatch (IplImage $\ast$ {\em img1}, \/  IplImage $\ast$ {\em img2})\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a7d6b5c17bd0a15f52578a52e75ee35e8}


Uses SIFT to match images. Compares two images using SIFT and finds matching features. Based on Rob Hess's algorithm.


\begin{DoxyParams}{Parameters}
\item[{\em img1}]First image to match against. \item[{\em img2}]Image to match. \end{DoxyParams}
\begin{DoxyReturn}{Returns}
Returns the number of matching features. 
\end{DoxyReturn}
\hypertarget{class_vision_1_1_image_callback_a9a239d4a4dae570c567b8943afbb33f4}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!ThresholdGrayscaleImage@{ThresholdGrayscaleImage}}
\index{ThresholdGrayscaleImage@{ThresholdGrayscaleImage}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{ThresholdGrayscaleImage}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::ThresholdGrayscaleImage (IplImage $\ast$ {\em inputImage}, \/  int {\em thresholdValue}, \/  bool {\em Invert})}}
\label{class_vision_1_1_image_callback_a9a239d4a4dae570c567b8943afbb33f4}


Performs a threshold on a grayscale image. Applies a binary threshold to a grayscale image based on a given value and stores the results in that image.


\begin{DoxyParams}{Parameters}
\item[{\em inputImage}]The image to threshold. This is also the destination image. \item[{\em thresholdValue}]The value to use as threshold. \item[{\em Invert}]When true, it applies an inverted binary operation. \end{DoxyParams}
\hypertarget{class_vision_1_1_image_callback_a5b0b2cb0da02d59414be17b281d7a3e2}{
\index{Vision::ImageCallback@{Vision::ImageCallback}!VoteOnResults@{VoteOnResults}}
\index{VoteOnResults@{VoteOnResults}!Vision::ImageCallback@{Vision::ImageCallback}}
\subsubsection[{VoteOnResults}]{\setlength{\rightskip}{0pt plus 5cm}void ImageCallback::VoteOnResults ()\hspace{0.3cm}{\ttfamily  \mbox{[}protected\mbox{]}}}}
\label{class_vision_1_1_image_callback_a5b0b2cb0da02d59414be17b281d7a3e2}


Collects votes from images. Collects \hyperlink{class_vision_1_1_image_callback}{ImageCallback} votes for the presence of an object in an image into a single \char`\"{}presence image\char`\"{}. 

$<$ Input image.

$<$ Low threshold.

$<$ High threshold, in this case the binary image.

$<$ Destination image. 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/include/modules/bases/imagecallback.h\item 
C:/Users/Matt/Documents/School/Robotics/zebulon/v2/vision/src/modules/bases/imagecallback.cpp\end{DoxyCompactItemize}
